package com.example.jingleai.entity.vo;

import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.ai.chat.messages.Message;

/**
 * 消息视图对象，用于封装消息的相关信息
 */
@NoArgsConstructor
@Data
public class MessageVo {
    /**
     * 角色，表示消息的发送者（如"user"或"assistant"）
     */
    private String role;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 构造函数，根据Message对象初始化MessageVo对象
     *
     * @param message 消息对象
     */
    public MessageVo(Message message) {
        switch (message.getMessageType()) {
            case USER:
                role = "user";
                break;
            case ASSISTANT:
                role = "assistant";
                break;
            default:
                role = "";
                break;
        }
        this.content = message.getText();
    }
}
